Monitor position adjustment based on application metadata

ABSTRACT

Aspects of the present disclosure relate to automatic monitor position adjustment. An indication that an application is being launched is received. A preferred monitor position for the application is determined by referencing a data store mapping preferred monitor positions to respective metadata attributes, where the preferred monitor position for the application is determined based on the preferred monitor position being mapped to a first metadata attribute associated with the application within the data store. An actuator associated with the monitor is then instructed to adjust the position of the monitor to the preferred monitor position.

BACKGROUND

The present disclosure relates to display technology, and morespecifically, to monitor position adjustment.

Monitors are output devices that display images. Types of monitorsinclude cathode ray tube (CRT) monitors, liquid crystal display (LCD)monitors, and organic light-emitting diode (OLED) monitors. LCD monitortypes include twisted nematic (TN), vertical alignment (VA), in-planeswitching (IPS), and quantum dot monitors. The type of displaytechnology affects characteristics of the monitor. For example, monitorcharacteristics such as luminance, resolution, color depth, gamut,refresh rate, response time, Delta-E, and viewing angle can depend onthe underlying technology within the monitor.

SUMMARY

Aspects of the present disclosure relate to a computer-implementedmethod, system, and computer program product for automatic monitorposition adjustment. An indication that an application is being launchedcan be received. A preferred monitor position for the application can bedetermined by referencing a data store mapping preferring monitorpositions to respective metadata attributes, where the preferred monitorposition for the application is determined based on the preferredmonitor position being mapped to a first metadata attribute associatedwith the application within the data store. An actuator associated withthe monitor can then be instructed to adjust the position of the monitorto the preferred monitor position.

The above summary is not intended to describe each illustratedembodiment or every implementation of the present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings included in the present application are incorporated into,and form part of, the specification. They illustrate embodiments of thepresent disclosure and, along with the description, serve to explain theprinciples of the disclosure. The drawings are only illustrative ofcertain embodiments and do not limit the disclosure.

FIG. 1 illustrates a monitor adjusting from a first position to a secondposition based on application metadata, in accordance with embodimentsof the present disclosure.

FIG. 2 illustrates a computing environment in which illustrativeembodiments of the present disclosure can be implemented.

FIG. 3 is a flow diagram illustrating an example method for adjusting amonitor position based on application metadata, in accordance withembodiments of the present disclosure.

FIG. 4 is a flow diagram illustrating another example method foradjusting a monitor position based on application metadata, inaccordance with embodiments of the present disclosure.

FIG. 5 is a diagram illustrating a cloud computing environment, inaccordance with embodiments of the present disclosure.

FIG. 6 is a block diagram illustrating abstraction model layers, inaccordance with embodiments of the present disclosure.

FIG. 7 is a high-level block diagram illustrating an example computersystem that may be used in implementing one or more of the methods,tools, and modules, and any related functions described herein, inaccordance with embodiments of the present disclosure.

While the present disclosure is amenable to various modifications andalternative forms, specifics thereof have been shown by way of examplein the drawings and will be described in detail. It should beunderstood, however, that the intention is not to limit the presentdisclosure to the particular embodiments described. On the contrary, theintention is to cover all modifications, equivalents, and alternativesfalling within the spirit and scope of the present disclosure.

DETAILED DESCRIPTION

Aspects of the present disclosure are directed toward displaytechnology, and in particular, to monitor position adjustment. While thepresent disclosure is not necessarily limited to such applications,various aspects of the present disclosure may be appreciated through adiscussion of various examples using this context.

When using a monitor, the monitor's ideal position can differ fordifferent tasks. For example, websites and text-based applications maybe best viewed while the monitor is in a vertical orientation (e.g.,portrait mode), while videos and/or video games may be best viewed whilethe monitor is in a horizontal orientation (e.g., landscape mode).Though existing monitor mounts/stands can manually rotate to accommodatea variety of positions, the process of manually adjusting the positionof the monitor (e.g., physically and electronically on the display) canbe time consuming and tedious. For example, if a user frequentlytransitions from portrait to landscape mode, not only are they requiredto physically rotate their monitor to the preferred orientation eachtime, but they may also be required to select the preferred orientationoption within the operating system (OS). This negatively impactsusability of monitors.

Aspects of the present disclosure relate to automatic monitor positionadjustment based on application metadata. An indication that anapplication is being launched can be received. A preferred monitorposition for the application can be determined by referencing a datastore mapping preferred monitor positions to respective metadataattributes. An actuator associated with the monitor can then beinstructed to adjust the position of the monitor to the preferredmonitor position.

Referring now to FIG. 1, shown is a diagram of a monitor 105transitioning from a first position to a second position, in accordancewith embodiments of the present disclosure.

Conventional monitors may be manually rotatable such that they can beviewed in portrait (vertical orientation) mode or landscape (horizontalorientation) mode. However, the user is tasked with physically andelectronically executing this task. For example, per the physicalposition adjustment, the user may be required to adjust the verticalheight of the monitor and thereafter rotate the monitor to the preferredorientation. Per the electronic position adjustment, the user may berequired to select an option within an operating system, displaymanagement application, or other location such that the display data isoutput according to the preferred orientation. For example, a user cannavigate an OS menu “Screen Resolution” and alter the orientation withinan “Orientation” tab. This ensures that the image data is outputaccording to the physical orientation of the monitor. Manually executingthese tasks is tedious, especially when performed on a frequent basis.

Aspects of the present disclosure enable automatic monitor positionadjustment based on metadata. Based on the observance of particularmetadata attributes (e.g., a program name, file format, applicationcategory, time, date, author, etc.), a preferred monitor positionadjustment can be determined. The position of the monitor can then beautomatically adjusted by one or more actuators (e.g., motors) withinthe monitor 105. In embodiments, the actuators can be located within themonitor stand/mount. As depicted in FIG. 1, the monitor 150 starts in avertical orientation and is adjusted to a horizontal orientation basedon observed metadata.

Automatically adjusting the position of the monitor improves theusability of monitors. For example, a user is no longer tasked withphysically rotating the monitor and electronically adjusting the displayaccording to the physical orientation. Further, by adjusting theposition based on metadata, monitor adjustments can be madeautomatically in a variety of situations. For example, the orientationof the monitor 150 can be adjusted based on the particular applicationthat is launched and/or the category of application that is launched(e.g., a video game vs. text document). This enables automatic positionadjustments, for example, when a user transitions between applications.

As discussed herein, a “position adjustment” can refer to an alterationof a physical position of the monitor. The position adjustment can occuralong any suitable degree of freedom available to the monitor. Forexample, a position adjustment can specify an orientation adjustment, ahorizontal position adjustment (moving the monitor left or right), avertical position adjustment (moving the monitor up or down), and/or anangular adjustment (tipping the monitor forwards or backwards). Inembodiments, a position adjustment can be accompanied with an electronicadjustment of the display (e.g., an alteration to the pixel datadisplayed on the monitor). For example, an electronic adjustment of thedisplay can include a resolution alteration or an orientation shift.

Metadata associated with an application that can be analyzed todetermine a preferred monitor position can include any suitablemetadata, including descriptive metadata (e.g., title, subject,category, author, creation date, publisher, etc.), legal metadata (e.g.,copyright status, license information, etc.), technical metadata (e.g.,file types, file size, creation/installation date and time, compressioninformation, etc.), and others.

FIG. 2 is a block diagram illustrating a computing environment 200 inwhich illustrative embodiments of the present disclosure can beimplemented. The computing environment 200 includes a monitor 205communicatively coupled to a computer system 240. Components of themonitor 205 are depicted to the right of the monitor 205 (connected by adashed line). The monitor can include sensors 210, an actuator 215, amemory 220, a display 225, an input/output (I/O) interface 230, and aprocessor 235. The computer system can include a graphics card 245, aprocessor 250, a memory 255, and a network interface 260. For brevity,only a handful of potential components of the monitor 205 and computersystem 240 are depicted. Aspects of the present disclosure recognizethat additional components may be present in both the monitor 205 andcomputer system 240. For example, both the monitor 205 and computersystem 240 can each include a power supply (not shown).

The monitor 205 and computer system 240 can be communicatively coupledin any suitable manner. For example, as depicted in FIG. 2, a videocable 265 communicatively links a graphics card 245 of the computersystem to an I/O interface 230 of the monitor 205. This enables thetransmission of video data (e.g., data dictating the state of pixels)between the graphics card 245 and monitor 205. The monitor 205 can alsobe communicatively coupled to the computer system 240 using a networkingcable 270. This enables the transmission of data (e.g., applicationdata) between the monitor 205 and computer system 240, for example, toenable position adjustments to be issued by the monitor 205.

Any suitable video cable 265 can be implemented, including, but notlimited to, video graphics array (VGA) cables, digital visual interface(DVI) cables, high definition multimedia interface (HDMI) cables,universal serial bus (USB) (e.g., USB 2.0, USB 3.0, etc.) cables, anddisplay port (DP) cables. Further, any suitable networking cable 270 canbe implemented, including USB cables, Ethernet cables, optical fibercables, and others. In embodiments, data can be transmitted between thecomputer system 240 and monitor 205 using a wireless link (not shown).For example, data can be transmitted between the monitor 205 andcomputer system 240 using Wi-Fi, Bluetooth, radiofrequencyidentification (RFID), and others. Wireless data exchange can occurbetween the computer system 240 and monitor 205 through the networkinterface 260 of the computer system 240 and a network interface of themonitor (not shown).

The display 225 of the monitor can be configured to display image data.The display 225 can utilize any suitable display technology, including,but not limited to, LCD, LED, or OLED technology. In embodiments, thedisplay 225 can include a touch screen utilizing touchscreen technologyincluding, but not limited to, capacitive, resistive, or surfaceacoustic waves. The graphics card 245 may be operatively coupled to thedisplay 225 to control what is visually displayed on the display 225. Inembodiments, the graphics card 245 can be integrated (e.g., built into amotherboard (not shown) of the computer system 240) or can alternativelybe a discrete component (e.g., plugged into a motherboard of thecomputer system 240 via a peripheral component interconnect (PCI)express port). In embodiments, the characteristics of the monitor, suchas luminance, resolution, color depth, gamut, refresh rate, responsetime, Delta-E, and viewing angle, can depend on the underlyingtechnology display technology (e.g., OLED vs. LCD). In embodiments, theoutput of image data (e.g., the displayed frames per second, theresolution, etc.) can depend on the type of graphics card 245operatively coupled to the monitor 205.

The sensors 210 of the monitor 205 can be configured to collect datasuch that the movement range of the monitor can be determined. This canbe completed such that a determination can be made whether theorientation of the monitor can be adjusted (without colliding withobstructions). Any suitable sensors can be used to determine a movementrange of the monitor. For example, optical sensors (e.g., photoelectricsensors, laser sensors, passive thermal infrared sensors, cameras,photocell sensors, etc.), ultrasonic sensors, magnetic sensors, andcapacitive sensors can be used to determine the movement range of themonitor 205. In embodiments, upon initiation of the monitor 205, themovement range is initially determined (e.g., via scanning by thesensors 210) such that proper monitor position adjustments can be made.

In addition, the sensors 210 can collect data which can be used todetect obstructions during a readjustment. For example, if theenvironment surrounding the monitor 205 (e.g., a desk, office space,etc.) has changed since a movement range of the monitor was determined,the sensors 210 can be configured to detect collisions with nearbyobjects during a readjustment. This can be completed such that, if anobstruction exists, the monitor 205 can be rotated back to its previousposition, thereby preventing potential damage to the monitor 205.Sensors 210 used to detect collisions can include tactile sensors (e.g.,pressure sensor arrays and strain gauges) and force sensors (e.g., forcesensing resistors).

In embodiments, the sensors 210 can be integrated with the monitor 205.For example, the sensors 210 can be attached to the monitor 205 and canbe configured to collect spatial data surrounding the monitor 205. Insome embodiments, the sensors 210 can be remotely located from themonitor 205 and can be configured to view the area surrounding themonitor 210 and transmit the sensor data over a network (e.g., notshown) to the monitor 205. For example, the sensors 210 can include oneor more cameras viewing the monitor from a distance to detect potentialobstructions. In some embodiments, the sensors 210 can be detachably(removably) coupled to the monitor 205, such that they can becommunicatively coupled with the monitor 205 as needed.

The actuator 215 of the monitor 205 can be configured to adjust aposition (e.g., orientation, angle, height, horizontal position, etc.)of the monitor 205. This can be completed in response to a command givenby the processor 235 of the monitor and/or a command given by theprocessor 250 of the computer system 205. In embodiments, thedetermination to adjust a position of the monitor 205 is completed basedon a metadata analysis. For example, in response to a particularapplication being launched, metadata attributes of that application canbe analyzed to determine a preferred position of the monitor 205 for theapplication. In embodiments, a data store (stored in either memory 220of the monitor 205 or memory 255 of the computer system 240) mappingmonitor positions to metadata attributes can be referenced to determinea preferred position of the monitor. For example, if a data store maps aparticular metadata category “Gaming” to a preferred orientation“Landscape,” then the actuator 215 can be configured to orient themonitor horizontally in response to an application having a metadatacategory “Gaming” being launched. Further, a processor (e.g., processor235 or processor 250) can be configured to electronically alter theorientation of the monitor 205 to the “Landscape” orientation.

The actuator 215 can include any suitable technology configured toadjust a position of the monitor 205. In embodiments, the actuator 215can be hydraulic, pneumatic, electric (e.g., a motor), thermal,magnetic, mechanical, or any combination thereof. In embodiments, themonitor 205 can include a plurality of actuators (e.g., multipleactuators 215) configured to control the movement of the monitor 215along different degrees of freedom available to the monitor. Forexample, a first actuator can be responsible for altering a height ofthe monitor while a second actuator can be responsible for altering anorientation of the monitor. However, any suitable number, type, and/orconfiguration of actuators operable to adjust a position of the monitor205 can be implemented.

In some embodiments, the processor 235 of the monitor 205 is configuredto determine whether a position adjustment is required. This can becompleted by receiving application data from the computer system 240(e.g., through the video cable 265, networking cable 270, or networkinterface 260) and referencing a data store mapping preferredorientations to metadata attributes within the memory 220 of the monitor205. For example, in response to launching a text-based application onthe computer system 240, metadata associated with the text-basedapplication can be transmitted to the monitor 205. The processor 235 ofthe monitor can then be configured to reference (e.g., compare) themetadata associated with the text-based application with a data storemapping preferred monitor positions to metadata attributes (e.g., storedwithin memory 220 of the monitor 205). Based on the comparison, theprocessor 235 can determine whether a position adjustment is required,and what the position adjustment entails (e.g., the vertical,horizontal, or angular shift of the monitor). The processor 235 can thentransmit the position adjustment to the actuator 215 such that theposition adjustment can be executed.

In some embodiments, the processor 250 of the computer system 240 isconfigured to determine whether a position adjustment is required. Thiscan be completed by comparing application metadata (e.g., upon anapplication launch) to a data store mapping preferred monitor positionsto metadata attributes (e.g., stored within memory 255 of the computersystem 240). The processor 250 can then transmit an indication ofwhether a position adjustment is required and/or what the positionadjustment entails to the monitor 205 (e.g., through the video cable265, networking cable 270 and/or network interface 260). The actuator215 can then execute the position adjustment issued by the processor250.

Reference will now be made to Table 1, presented below, depicting anexample data store mapping metadata attributes to preferred monitorpositions, in accordance with embodiments of the present disclosure.

TABLE 1 Metadata Attribute Position Application Name 1 LandscapeApplication Name 2 Portrait Application Name 3 Position 1 Category 1Landscape Category 2 Position 2 Publisher 1 Portrait Publisher 2Position 3

As depicted in Table 1, various metadata attributes can be mapped tovarious monitor positions. This data store can be stored within memory220 of the monitor 205 (and analyzed by processor 235 of the monitor205) and/or within memory 255 of the computer system 240 (and analyzedby processor 250 of the computer system 240). The metadata attributesdepicted in Table 1 include three distinct application names, twodistinct application categories, and two distinct applicationpublishers. These metadata attributes are mapped to specific monitorpositions. For example, the first application name is mapped to alandscape position (e.g., the monitor is horizontally oriented), thesecond application name is mapped to a portrait position (e.g., themonitor is vertically oriented), the third application name is mapped toa first monitor position (specifying a first height, horizontalposition, and/or angle of the monitor 205), etc.

Upon launching an application, the metadata attributes of theapplication can be analyzed to determine the preferred position in the“Position” column in Table 1. This preferred position can then betransmitted to the actuator 215 such that the monitor position can beadjusted per the appropriate “Position”.

In embodiments, metadata attributes can be mapped to preferred positionsvia user input. That is, a user can explicitly map a particular metadataattribute to a particular monitor position. For example, referencingTable 1, a user can specify that “Category 1” should be associated witha portrait mode instead of a landscape mode. In this example, the usercan alter (e.g., via a graphical user interface (GUI)) the monitorposition corresponding to “Category 1” from “Landscape” to “Portrait.”In some embodiments, metadata attributes can be assigned a defaultmonitor position. Thereafter, a user can adjust the monitor position tometadata attribute mappings as needed.

In embodiments, positions (specifying height, horizontal position,and/or angle of the monitor 205) can be manually set by a user. Forexample, a user can manually adjust the position of their monitor andposition data (stored within memory 220 of the monitor 205) indicatingthe height, horizontal position, and/or angle of the monitor 205 set bythe user can be mapped to a metadata attribute.

FIG. 2 is intended to represent the major components of an examplecomputing environment 200 according to embodiments of the presentdisclosure. In some embodiments, however, individual components can havegreater or lesser complexity than shown in FIG. 2, and components otherthan, or in addition to those shown in FIG. 2 can be present.Furthermore, in some embodiments, various components illustrated in FIG.2 can have greater, lesser, or different functionality than shown inFIG. 2. Further still, aspects of the present disclosure existcomprising only a subset of the components illustrated while remainingwithin the spirit and scope of the present disclosure.

Referring now to FIG. 3, shown is a flow diagram illustrating an examplemethod 300 for adjusting a monitor position based on applicationmetadata, in accordance with embodiments of the present disclosure.

Method 300 initiates at operation 305, where monitor use is initiated.The monitor can be initiated by powering on a computer system (e.g.,computer system 240 of FIG. 2) communicatively coupled to the monitor(e.g., monitor 205 of FIG. 2). In some embodiments, the monitor isinitiated by powering on, plugging in, or otherwise activating themonitor.

An indication of an application launch is then received. This isillustrated at operation 310. Initiating an application can be completedby launching a shortcut icon or executable file (e.g., an .exe file)associated with an application. Accordingly, an indication of anapplication launch can be received in response to an application beinglaunched. In some embodiments, an operating system can be referenced todetermine running processes on a computer system to determine whether anapplication is launched (e.g., via a task manager). In embodiments, theindication of the application being launched can be transmitted from acomputer system to a monitor using a networking cable (e.g., networkingcable 270 of FIG. 2) or wireless link.

A preferred position of the monitor is then determined based on metadataassociated with the application. This is illustrated at operation 315.This can be completed by referencing a data store mapping preferredmonitor positions to metadata attributes. Accordingly, in response toidentifying a particular metadata attribute associated with theapplication within the data store, a preferred position of the monitorcan be determined. An example data store mapping preferred monitorpositions to metadata attributes is depicted in Table 1, discussedabove.

The comparison between the datastore mapping preferred monitor positionsto metadata attributes and the application metadata can be completedusing a matching algorithm, such as a string matching algorithm (e.g.,Knuth-Morris-Pratt, Rabin-Karp, Boyer-Moore, and Naïve string-search).As an example, an application can be parsed for any metadata attributeslocated within the datastore using a matching algorithm. If a metadataattribute located within the datastore is located using the matchingalgorithm, then the preferred position is determined based on thepreferred position indicated in the datastore.

In some embodiments, if no metadata attributes associated with theapplication are referenced within the data store, a user can be promptedto revise the data store. This can include the user appending anadditional metadata attribute to monitor position mapping for theapplication to the data store. For example, assume a particularapplication, “Application Z,” is launched and there are no mappings ofmetadata attributes within “Application Z” to any preferred monitorpositions. In this example, the user can map the name (or any othermetadata attribute, such as the publisher name, category, time, date,etc.) of “Application Z” to a particular monitor position (e.g.,Landscape Mode). In some embodiments, the user can manually adjust themonitor to the preferred position (e.g., by physically and/orelectronically adjusting the display) and map the manually adjustedposition to a metadata attribute associated with the unmappedapplication.

In some embodiments, if two contradictory monitor positions areidentified for a particular application, a user can be prompted toselect an appropriate monitor position. For example, assume that, for aparticular application, “Application X,” a category “Web Browser”indicates that “Application X” should be in the vertical orientation.Further, assume that an application name “Browser X” indicates that“Application X” should be in the horizontal orientation. In thisexample, the user can be notified regarding the contradiction. Further,the user can be prompted to correct the contradiction by specifying thepreferred position for the monitor.

A determination is then made whether the monitor position should change.This is illustrated at operation 320. The determination whether themonitor position should change is completed by comparing the currentmonitor position (e.g., landscape mode) to the preferred monitorposition (e.g., vertical mode). If the current monitor position differsfrom the preferred monitor position, then a determination is made thatthe monitor position should change. If the current monitor position isthe same as the preferred position, then a determination is made thatthe monitor position should not change.

If a determination is made that the monitor position should not change,then method 300 ends, as the monitor is already in the preferredposition. If a determination is made that the monitor position should bechanged, then the monitor position is adjusted to the preferred monitorposition. This is illustrated at operation 325. The monitor position canbe adjusted by one or more actuators (e.g., actuator 215 of FIG. 2)within the monitor. In embodiments, adjusting the monitor position caninclude altering a height, horizontal position, viewing angle, and/ororientation of the monitor.

The aforementioned operations can be completed in any practical orderand are not limited to those described. Additionally, some, all, or noneof the aforementioned operations can be completed, while still remainingwithin the spirit and scope of the present disclosure.

Referring now to FIG. 4, shown is a flow diagram illustrating an examplemethod 400 for adjusting a monitor position based on applicationmetadata, in accordance with embodiments of the present disclosure.

Method 400 initiates at operation 405, where monitor use is initiated.The monitor can be initiated by powering on a computer system (e.g.,computer system 240 of FIG. 2) communicatively coupled to the monitor(e.g., monitor 205 of FIG. 2). In some embodiments, the monitor isinitiated by powering on, plugging in, or otherwise activating themonitor.

Scanning is then performed to determine a movement range of the monitor.This is illustrated at operation 410. Scanning can be performed by oneor more sensors (e.g., sensors 210 of FIG. 2) associated with themonitor. For example, an optical scanner can be configured to collectvisual data such that potential obstructions along degrees of freedom ofthe monitor can be identified.

In embodiments, multiple sensors can be implemented such that eachsensor can collect spatial data associated with a particular degree offreedom. For example, a first sensor can be placed on a left side of amonitor to detect a leftward movement range (xl), a second sensor can beplaced on a rightward side of the monitor to detect a right movementrange (xr), a third sensor can be place on top of the monitor to detectan upward movement range (yu), and a fourth sensor can be placed on thebottom of the monitor to detect a downward movement range (yd). Themovement range for the monitor can then be defined based on xl, xr, yu,and, yd. This can similarly be implemented for angular degrees offreedom.

A movement constraint is then set based on the movement range determinedat operation 410. This is illustrated at operation 415. Following theexample above, the movement constraint would be set according to xl, xr,yu, and, yd. The movement constraint prevents the monitor fromtransitioning to a position where the monitor may collide with nearbyobjects (as detected by the sensors). For example, if a determination ismade to transition from a first monitor position to second monitorposition, if the second monitor position violates the movementconstraint (e.g., is outside the permitted movement range), the monitoradjustment can be prevented. This can prevent collision damage to themonitor. In some embodiments, a warning can be transmitted in responseto determining that a preferred monitor position violates a movementconstraint. This can allow users to clear the area such that thepermitted movement range can be expanded to include the preferredmonitor position.

An indication of an application launch is then received. This isillustrated at operation 420. The indication of the application launchcan be received in the same, or a substantially similar, manner asdescribed with respect to operation 310 of FIG. 3.

A monitor position is then determined based on metadata associated withthe application. This is illustrated at operation 425. Determining themonitor position based on metadata associated with the application canbe completed in the same, or a substantially similar, manner asdescribed with respect to operation 315 of FIG. 3. For example, themonitor position can be determined by referencing a data store mappingmetadata attributes to preferred monitor positions.

A determination is then made whether the monitor position should change.This is illustrated at operation 430. The determination whether themonitor position should change is completed by comparing the currentmonitor position to the preferred monitor position. If the currentmonitor position differs from the preferred monitor position, then adetermination is made that the monitor position should change. If thecurrent monitor position is the same as the preferred monitor position,then a determination is made that the monitor position should notchange.

If a determination is made that the monitor position should not change,then method 400 ends, as the monitor is already in the preferredposition. If a determination is made that the monitor position shouldchange, then the position of the monitor is adjusted. This isillustrated at operation 435. The monitor can be adjusted by one or moreactuators (integrated within the stand or mount of the monitor) inresponse to a command provided by a processor (e.g., of the monitor orcomputer system). While the monitor is adjusted, a determination is madewhether there is an obstruction detected. This is illustrated atoperation 440. Obstructions can be detected using tactile sensors (e.g.,pressure sensor arrays and strain gauges) and/or force sensors (e.g.,force sensing resistors) associated with the monitor.

If an obstruction is not detected while the position of the monitor isbeing adjusted, then method 400 ends, as the monitor completes itsmovement without collision. If an obstruction is detected while theposition of the monitor is being adjusted, then method 400 proceeds tooperation 445, where a notification regarding the obstruction istransmitted and the position of the monitor is reverted to its previousposition. The notification can be displayed on a display (e.g., display225 of FIG. 2) of the monitor and can indicate that an obstruction wasdetected during the position change. Upon reverting the monitor'sposition to its previous position, method 400 terminates.

The aforementioned operations can be completed in any order and are notlimited to those described. Additionally, some, all, or none of theaforementioned operations can be completed, while still remaining withinthe spirit and scope of the present disclosure. For example, in someembodiments, operations 410 and 415 can be reorganized to occur orreoccur between operations 430 and 435 to obtain a more contemporaneousanalysis of the environment around the monitor (for example, to see ifan object was recently placed near the monitor that was not there beforeoperation 430).

It is to be understood that although this disclosure includes a detaileddescription on cloud computing, implementation of the teachings recitedherein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment now known orlater developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g., networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as Follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned, in some cases automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported, providing transparency for both theprovider and consumer of the utilized service.

Service Models are as Follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based e-mail).The consumer does not manage or control the underlying cloudinfrastructure including network, servers, operating systems, storage,or even individual application capabilities, with the possible exceptionof limited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredapplications created using programming languages and tools supported bythe provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as Follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting forload-balancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure that includes anetwork of interconnected nodes.

Referring now to FIG. 5, illustrative cloud computing environment 50 isdepicted. As shown, cloud computing environment 50 includes one or morecloud computing nodes 10 with which local computing devices used bycloud consumers, such as, for example, personal digital assistant (PDA)or cellular telephone 54A, desktop computer 54B (e.g., computer system240 of FIG. 2), laptop computer 54C, and/or automobile computer system54N may communicate. Nodes 10 may communicate with one another. They maybe grouped (not shown) physically or virtually, in one or more networks,such as Private, Community, Public, or Hybrid clouds as describedhereinabove, or a combination thereof. This allows cloud computingenvironment 50 to offer infrastructure, platforms and/or software asservices for which a cloud consumer does not need to maintain resourceson a local computing device. It is understood that the types ofcomputing devices 54A-N shown in FIG. 5 are intended to be illustrativeonly and that computing nodes 10 and cloud computing environment 50 cancommunicate with any type of computerized device over any type ofnetwork and/or network addressable connection (e.g., using a webbrowser).

Referring now to FIG. 6, a set of functional abstraction layers providedby cloud computing environment 50 (FIG. 5) is shown. It should beunderstood in advance that the components, layers, and functions shownin FIG. 6 are intended to be illustrative only and embodiments of theinvention are not limited thereto. As depicted, the following layers andcorresponding functions are provided:

Hardware and software layer 60 includes hardware and softwarecomponents. Examples of hardware components include: mainframes 61; RISC(Reduced Instruction Set Computer) architecture based servers 62;servers 63; blade servers 64; storage devices 65; and networks andnetworking components 66. In some embodiments, software componentsinclude network application server software 67 and database software 68.

Virtualization layer 70 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers71; virtual storage 72; virtual networks 73, including virtual privatenetworks; virtual applications and operating systems 74; and virtualclients 75.

In one example, management layer 80 may provide the functions describedbelow. Resource provisioning 81 provides dynamic procurement ofcomputing resources and other resources that are utilized to performtasks within the cloud computing environment. Metering and Pricing 82provide cost tracking as resources are utilized within the cloudcomputing environment, and billing or invoicing for consumption of theseresources. In one example, these resources may include applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal 83 provides access to the cloud computing environment forconsumers and system administrators. Service level management 84provides cloud computing resource allocation and management such thatrequired service levels are met. Service Level Agreement (SLA) planningand fulfillment 85 provide pre-arrangement for, and procurement of,cloud computing resources for which a future requirement is anticipatedin accordance with an SLA.

Workloads layer 90 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: mapping andnavigation 91; software development and lifecycle management 92; virtualclassroom education delivery 93; data analytics processing 94;transaction processing 95; and monitor position adjustment 96.

Referring now to FIG. 7, shown is a high-level block diagram of anexample computer system 701 that may possibly be utilized in variousdevices discussed herein (e.g., computer system 240) and that may beused in implementing one or more of the methods, tools, and modules, andany related functions, described herein (e.g., using one or moreprocessor circuits or computer processors of the computer), inaccordance with embodiments of the present disclosure. In someembodiments, the major components of the computer system 701 maycomprise one or more CPUs 702, a memory subsystem 704, a terminalinterface 712, a storage interface 714, an I/O (Input/Output) deviceinterface 716, and a network interface 718, all of which may becommunicatively coupled, directly or indirectly, for inter-componentcommunication via a memory bus 703, an I/O bus 708, and an I/O businterface unit 710.

The computer system 701 may contain one or more general-purposeprogrammable central processing units (CPUs) 702A, 702B, 702C, and 702D,herein generically referred to as the CPU 702. In some embodiments, thecomputer system 701 may contain multiple processors typical of arelatively large system; however, in other embodiments the computersystem 701 may alternatively be a single CPU system. Each CPU 702 mayexecute instructions stored in the memory subsystem 704 and may includeone or more levels of on-board cache.

System memory 704 may include computer system readable media in the formof volatile memory, such as random access memory (RAM) 722 or cachememory 724. Computer system 701 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 726 can be provided forreading from and writing to a non-removable, non-volatile magneticmedia, such as a “hard-drive.” Although not shown, a magnetic disk drivefor reading from and writing to a removable, non-volatile magnetic disk(e.g., a “floppy disk”), or an optical disk drive for reading from orwriting to a removable, non-volatile optical disc such as a CD-ROM,DVD-ROM or other optical media can be provided. In addition, memory 704can include flash memory, e.g., a flash memory stick drive or a flashdrive. Memory devices can be connected to memory bus 703 by one or moredata media interfaces. The memory 704 may include at least one programproduct having a set (e.g., at least one) of program modules that areconfigured to carry out the functions of various embodiments.

One or more programs/utilities 728, each having at least one set ofprogram modules 730 may be stored in memory 704. The programs/utilities728 may include a hypervisor (also referred to as a virtual machinemonitor), one or more operating systems, one or more applicationprograms, other program modules, and program data. Each of the operatingsystems, one or more application programs, other program modules, andprogram data or some combination thereof, may include an implementationof a networking environment. Programs 728 and/or program modules 730generally perform the functions or methodologies of various embodiments.

In some embodiments, the program modules 730 of the computer system 701may include a monitor position adjustment module. The monitor positionadjustment module can be configured to receive an indication that anapplication is being launched. In response to determining that theapplication is being launched, the monitor position adjustment modulecan be configured to determine a preferred monitor position for theapplication by referencing a data store mapping preferred monitorpositions to respective metadata attributes, where the preferred monitorposition for the application is determined based on a first monitorposition being mapped to a first metadata attribute associated with theapplication within the data store. The monitor position adjustmentmodule can then be configured to transmit a command to an actuatorassociated with the monitor specifying that the position of the monitorshould be adjusted to the first monitor position.

Although the memory bus 703 is shown in FIG. 7 as a single bus structureproviding a direct communication path among the CPUs 702, the memorysubsystem 704, and the I/O bus interface 710, the memory bus 703 may, insome embodiments, include multiple different buses or communicationpaths, which may be arranged in any of various forms, such aspoint-to-point links in hierarchical, star or web configurations,multiple hierarchical buses, parallel and redundant paths, or any otherappropriate type of configuration. Furthermore, while the I/O businterface 710 and the I/O bus 708 are shown as single respective units,the computer system 701 may, in some embodiments, contain multiple I/Obus interface units 710, multiple I/O buses 708, or both. Further, whilemultiple I/O interface units are shown, which separate the I/O bus 708from various communications paths running to the various I/O devices, inother embodiments some or all of the I/O devices may be connecteddirectly to one or more system I/O buses.

In some embodiments, the computer system 701 may be a multi-usermainframe computer system, a single-user system, or a server computer orsimilar device that has little or no direct user interface, but receivesrequests from other computer systems (clients). Further, in someembodiments, the computer system 701 may be implemented as a desktopcomputer, portable computer, laptop or notebook computer, tabletcomputer, pocket computer, telephone, smart phone, network switches orrouters, or any other appropriate type of electronic device.

It is noted that FIG. 7 is intended to depict the representative majorcomponents of an exemplary computer system 701. In some embodiments,however, individual components may have greater or lesser complexitythan as represented in FIG. 7, components other than or in addition tothose shown in FIG. 7 may be present, and the number, type, andconfiguration of such components may vary.

As discussed in more detail herein, it is contemplated that some or allof the operations of some of the embodiments of methods described hereincan be performed in alternative orders or may not be performed at all;furthermore, multiple operations can occur at the same time or as aninternal part of a larger process.

The present disclosure can be a system, a method, and/or a computerprogram product. The computer program product can include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent disclosure.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium can be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network can comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers, and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present disclosure can be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions can execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer can be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection can be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) can execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present disclosure.

Aspects of the present disclosure are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of thedisclosure. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions can be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionscan also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions can also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present disclosure. In this regard, each block in theflowchart or block diagrams can represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block can occur out of theorder noted in the figures. For example, two blocks shown in successioncan, in fact, be executed substantially concurrently, or the blocks cansometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the variousembodiments. As used herein, the singular forms “a,” “an,” and “the” areintended to include the plural forms as well, unless the context clearlyindicates otherwise. It will be further understood that the terms“includes” and/or “including,” when used in this specification, specifythe presence of the stated features, integers, steps, operations,elements, and/or components, but do not preclude the presence oraddition of one or more other features, integers, steps, operations,elements, components, and/or groups thereof. In the previous detaileddescription of example embodiments of the various embodiments, referencewas made to the accompanying drawings (where like numbers represent likeelements), which form a part hereof, and in which is shown by way ofillustration specific example embodiments in which the variousembodiments can be practiced. These embodiments were described insufficient detail to enable those skilled in the art to practice theembodiments, but other embodiments can be used and logical, mechanical,electrical, and other changes can be made without departing from thescope of the various embodiments. In the previous description, numerousspecific details were set forth to provide a thorough understanding thevarious embodiments. But, the various embodiments can be practicedwithout these specific details. In other instances, well-known circuits,structures, and techniques have not been shown in detail in order not toobscure embodiments.

Different instances of the word “embodiment” as used within thisspecification do not necessarily refer to the same embodiment, but theycan. Any data and data structures illustrated or described herein areexamples only, and in other embodiments, different amounts of data,types of data, fields, numbers and types of fields, field names, numbersand types of rows, records, entries, or organizations of data can beused. In addition, any data can be combined with logic, so that aseparate data structure may not be necessary. The previous detaileddescription is, therefore, not to be taken in a limiting sense.

The descriptions of the various embodiments of the present disclosurehave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

Although the present disclosure has been described in terms of specificembodiments, it is anticipated that alterations and modification thereofwill become apparent to the skilled in the art. Therefore, it isintended that the following claims be interpreted as covering all suchalterations and modifications as fall within the true spirit and scopeof the disclosure.

What is claimed is:
 1. A computer-implemented method comprising: receiving an indication that an application is being launched; determining, responsive to the indication, a preferred monitor position for the application by referencing a table mapping preferred monitor positions to respective metadata attributes, wherein the preferred monitor position for the application is determined based on the preferred monitor position being mapped to a first metadata attribute associated with the application within the table; determining a positional adjustment of the monitor based on a current position of the monitor and the preferred monitor position; and instructing an actuator associated with the monitor to perform the positional adjustment to adjust the current position of the monitor to the preferred monitor position.
 2. The method of claim 1, further comprising: receiving an indication that a second application is being launched; referencing the table to determine a second preferred monitor position for the second application based on the second preferred monitor position being mapped to a second metadata attribute associated with the second application within the table; determining a second positional adjustment of the monitor based on the preferred monitor position for the application and the second preferred monitor position for the second application; and instructing the actuator associated with the monitor to perform the second positional adjustment to adjust the preferred monitor position for the application of the monitor to the second preferred monitor position for the second application.
 3. The method of claim 1, wherein upon initiating use of the monitor, a movement range of the monitor is determined by at least one sensor associated with the monitor.
 4. The method of claim 3, wherein the at least one sensor includes a first sensor configured to determine a leftward movement range of the monitor, wherein the at least one sensor includes a second sensor configured to determine a rightward movement range of the monitor, wherein the at least one sensor includes a third sensor configured to determine an upward movement range of the monitor, wherein the at least one sensor includes a fourth sensor configured to determine a downward movement range of the monitor.
 5. The method of claim 1, wherein a tactile sensor or force sensor is configured to determine whether an obstruction exists while the actuator adjusts the current position of the monitor to the preferred monitor position.
 6. The method of claim 1, wherein the first metadata attribute is an application name, and wherein the preferred monitor position is a portrait mode orientation.
 7. The method of claim 1, wherein the first metadata attribute is an application category, and wherein the preferred monitor position is a landscape mode orientation.
 8. A system comprising: a memory storing a table mapping preferred monitor positions to respective metadata attributes and program instructions; and a processor configured to execute the program instructions to perform a method comprising: receiving an indication that an application is being launched; determining, responsive to the indication, a preferred monitor position for the application by referencing the table, wherein the preferred monitor position for the application is determined based on the preferred monitor position being mapped to a first metadata attribute associated with the application within the table; determining a positional adjustment of the monitor based on a current position of the monitor and the preferred monitor position; and instructing an actuator associated with the monitor to perform the positional adjustment to adjust the current position of the monitor to the preferred monitor position.
 9. The system of claim 8, wherein the method performed by the processor further comprises: receiving an indication that a second application is being launched; referencing the table to determine a second preferred monitor position for the second application based on the second preferred monitor position being mapped to a second metadata attribute associated with the second application within the table; determining a second positional adjustment of the monitor based on the preferred monitor position for the application and the second preferred monitor position for the second application; and instructing the actuator associated with the monitor to perform the second positional adjustment to adjust the preferred monitor position for the application of the monitor to the second preferred monitor position for the second application.
 10. The system of claim 8, wherein upon initiating use of the monitor, a movement range of the monitor is determined by at least one sensor associated with the monitor.
 11. The system of claim 8, wherein the at least one sensor includes a first sensor configured to determine a height range of the monitor, wherein the at least one sensor includes a second sensor configured to determine an angular range of the monitor.
 12. The system of claim 8, wherein a tactile sensor or force sensor is configured to determine whether an obstruction exists while the actuator adjusts the current position of the monitor to the preferred monitor position.
 13. The system of claim 12, wherein in response to the tactile sensor or force sensor determining that the obstruction exists while performing the positional adjustment, the actuator reverts the monitor to its previous position.
 14. The system of claim 8, wherein the first metadata attribute is an application publisher, wherein the preferred monitor position is a portrait mode orientation.
 15. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processor to cause the processor to perform a method comprising: receiving an indication that an application is being launched; determining, responsive to the indication, a preferred monitor position for the application by referencing a table mapping preferred monitor positions to respective metadata attributes, wherein the preferred monitor position for the application is determined based on the preferred monitor position being mapped to a first metadata attribute associated with the application within the table; determining a positional adjustment of the monitor based on a current position of the monitor and the preferred monitor position; and instructing an actuator associated with the monitor to perform the positional adjustment to adjust the current position of the monitor to the preferred monitor position.
 16. The computer program product of claim 15, wherein the method performed by the processor further comprises: receiving an indication that a second application is being launched; referencing the table to determine a second preferred monitor position for the second application based on the second preferred monitor position being mapped to a second metadata attribute associated with the second application within the table; determining a second positional adjustment of the monitor based on the preferred monitor position for the application and the second preferred monitor position for the second application; and instructing the actuator associated with the monitor to perform the second positional adjustment to adjust the preferred monitor position for the application of the monitor to the second preferred monitor position for the second application.
 17. The computer program product of claim 15, wherein upon initiating use of the monitor, a movement range of the monitor is determined by at least one sensor associated with the monitor.
 18. The computer program product of claim 15, wherein a tactile sensor or force sensor is configured to determine whether an obstruction exists while the actuator adjusts the current position of the monitor to the preferred monitor position.
 19. The computer program product of claim 18, wherein in response to the tactile sensor or force sensor determining that the obstruction exists while performing the positional adjustment, the actuator reverts the monitor to its previous position.
 20. The computer program product of claim 15, wherein the first metadata attribute is an application name, wherein the preferred monitor position is a landscape mode orientation. 